#include <iostream>

using namespace std;


struct Date{
	// 结构体的默认访问权限是public，这是和类的唯一区别，结构体也可以存在成员变量和成员方法
	int b;
	void eat(){

	}
};

class MyDate {
	// 类的默认访问权限是private
	int a;
public:
	// 成员变量，和成员方法
	void cinDate() {
		cout << "请输入年月日：" << endl;
		cin >> year;
		cin >> month;
		cin >> day;
	}

	void coutDate() {
		cout << year << "年 " << month << "月 " << day << "日 " << endl;
	}

	bool isLeapYear() {
		if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
			return true;
		}
		return false;
	}

	void printLeapYear() {
		if (isLeapYear()) {
			cout << "是闰年~" << endl;
		} else {
			cout << "不是闰年~" << endl;
		}
	}

	int getYear() {
		return year;
	}

	void setYear(int newYear) {
		cin >> newYear;
		year = newYear;
		cout << "重置年份：" << year << endl;
	}

protected:
	// 控制保护权限，在类的继承中和private有区别，单个类中和private一样。

private:
	int year;
	int month;
	int day;

};

int main(int argc, char *argv[]) {

	MyDate myDate;
	myDate.cinDate();
	myDate.coutDate();
	myDate.printLeapYear();
	myDate.setYear(2018);
	myDate.printLeapYear();

	return 0;
}

